<?php
/**
 * Created by PhpStorm.
 * User: moon
 * Date: 2017/2/21
 * Time: 21:04
 */
namespace app\initcore;

class Appreturn {


    /**
     * @param $errCode
     * 根据错误代码 自动返回
     */
    public static  function  errorReturn($errCode,$errMsg = '',$data = []){
        $return = ['error' => $errCode,'errormessage' => $errMsg,'data' => $data,'result' => $errCode,'msg' => $errMsg];
        switch($errCode){
            case ERR_RETURN_OK:
                $return['errormessage'] = empty($errMsg) ? '操作成功!' : $errMsg;
                break;
            case ERR_DB_CON_ERROR:
                $return['errormessage'] = empty($errMsg) ? '网络繁忙,请稍候重试' : $errMsg;
                break;
            case ERR_DB_EXECUTE_ERROR:
                $return['errormessage'] = empty($errMsg) ? '操作失败,请稍候重试': $errMsg;
                break;
            case ERR_DB_DATA_EMPTY:
                $return['errormessage'] = empty($errMsg) ? '该系统还没有记录呢!': $errMsg;
                break;
            case ERR_NOT_AUTHORIZED:
                $return['errormessage'] = empty($errMsg) ? '您没有此操作权限哦!': $errMsg;
                break;
            case ERR_PARAM_ERROR:
                $return['errormessage'] = empty($errMsg) ? '参数不符合要求!': $errMsg;
                break;
            case ERR_DATA_ALREADY_EXISTS:
                $return['errormessage'] = empty($errMsg) ? '记录已存在!': $errMsg;
                break;
        }//end switch
        $return['msg'] = $return['errormessage'];
        self::jsonReturn($return);
    }//end

    /**
     * JSON 返回
     */
    public static function jsonReturn($data)
    {
        header("Content-type:text/json;charset=utf-8");
        !is_array($data) && !is_object($data) && exit($data);
        if(is_object($data)){  //如果是对象 就转换成数组
            $data = (array)$data;
        }

        $data['msg'] = isset($data['errormessage']) ? $data['errormessage'] : '';
        if(isset($data['error'])){
            if($data['error'] ==  ERR_RETURN_OK){
                $data['result'] = ERR_RESULT_OK;
            }else{
                !isset($data['result']) && $data['result'] = $data['error'];
            }
        }else{
            $data['result'] = ERR_NOT_AUTHORIZED;
        }
        $return = json_encode($data,JSON_UNESCAPED_UNICODE);
       // $return = self::jsonEncode($data);
        exit($return);
    }//end function

}